This invention relates to computerized database and file accessing and retrieval, and more specifically to refining query results made across a plurality of multiple listing service databases when searching for real estate property listings.
The marketing of real estate on the Internet is notoriously well-known. Although real-estate listings have long been available through many types of electronic mediums such as the xe2x80x9cbulletin-boardxe2x80x9d systems of the 1980s and early 1990s, the explosive growth of the World Wide Web (herein xe2x80x9cWWWxe2x80x9d) has provided a rich, graphical medium for which real estate marketing has benefited tremendously.
The logistics of real estate sales put great emphasis on database technologies.
The logistics of real estate sales put great emphasis on database technologies. Databases serve the market well by providing a searchable store of relevant information to properties. Real estate agents generally have access to a multiple listing service (herein xe2x80x9cMLSxe2x80x9d). A MLS is a local database that lists homes for sale. Member real estate agents can access the MLS and show listed homes to potential buyers. More recently, MLS systems are finding their way into the homes and computers of the end-consumers. Real estate agents, once the gatekeepers of such information, now share much of the same information with the potential real estate purchaser.
However, as databases were created to serve MLS systems worldwide, no standard structure was universally adopted. Accordingly, two neighboring MLS areas might have completely different database structures. Nevertheless, some common fields are almost always found in any MLS database such as:
(1) number of bathrooms;
(2) number of bedrooms;
(3) total square footage of dwelling; and
(4) year built.
Modern MLS systems typically contain fields that cover attributes deemed important within the geographic market. For example, a costal area might place a premium on homes that overlook the ocean. Accordingly, a first MLS system in the costal area might contain one or more fields in its database to indicate the view or proximity to the ocean. However, a neighboring area with a second MLS system might be landlocked with no corresponding database field for an ocean view.
A problem occurs when a search is attempted across multiple MLS systems. In the above-mentioned example, it is standard practice to compare the first and second MLS systems for fields common to both. Such fields will almost always be (1) number of bathrooms; (2) number of bedrooms; (3) total square footage of dwelling; and (4) the year in which the dwelling was constructed. In practice, many other fields might be included such as swimming pools and fireplaces. However, in the process of selecting only the common fields to search, a significant diminution occurs in the precision of the search. In the above-mentioned example, because the second MLS does not have a field for xe2x80x9cocean view,xe2x80x9d it is excluded in the multiple MLS search system.
Accordingly, what is needed in the art is a method of seamlessly searching for property records across a plurality of MLS databases with sacrificing the specificity or resulting accuracy of the available search criteria.
It is, therefore, to the effective resolution of the aforementioned problems and shortcomings of the prior art that the present invention is directed.
However, in view of the prior art in at the time the present invention was made, it was not obvious to those of ordinary skill in the pertinent art how the identified needs could be fulfilled.
The present invention provides a method of searching a plurality of MLS databases comprising the steps of accessing a plurality of MLS databases, resolving an array of schemas from the plurality of MLS databases, establishing a first array of common fields from the array of schemas, establishing a second array of distinct fields from the array of schemas, displaying a search query interface including the first array of common fields and the second array of distinct fields, selecting a root database from the plurality of MLS databases, selecting at least one child database from the plurality of MLS databases, and returning a search query against the root database wherein data from the at least one child database is only included for common fields selected in the search query interface.
The MLS databases may be accessed by any conventional means whether by a local area network or by a wide area network. In a preferred embodiment of the invention, updated records for each database are uploaded on a daily basis to a central storage server. This alleviates bandwidth issues by placing the necessary data in close network proximity to the database processing means. To some extent, every database has an organizational structure, or a schema. At a very basic level, part of the schema illustrates the fields, tables and records that make up the individual MLS database. While two databases might appear to hold the exact information, they may have substantially different schemas. For example, two databases might hold the names of real estate agents. The first database stores each agent""s first name, middle initial and last name in separate fields. However, the second database may store the agent""s entire name in a single field. Integrating these two databases is not necessarily difficult, although some processing logic might be needed to intelligently map duplicate entries.
A more difficult scenario exists when the first database has a field for xe2x80x9corganizational membershipsxe2x80x9d and the second database is completely lacking of that field. For example, if a search is requested to find all real estate agents who are members of the ABC Group within both databases, a significant problem exists. Members of the ABC Group in the first database will be returned by the search, but members of the ABC Group in the second database will not be returned. Accordingly, the search results are invalid as to the second database. In a multiple database search, non-corresponding fields are typically disabled across the board. Therefore, the above-mentioned invalid search would not be returned. However, that leaves the searcher with fewer options.
Therefore, according to the present invention, from the array of schemas, a first array of common fields and a second array of distinct fields are established. Common fields are those that have substantial equivalence across multiple databases. For example, a combination of fields of first name, middle initial and last name would form a substantial equivalent to a single field with the full name. Modern database techniques, such as the SQL syntax provide powerful logic tools to map substantially equivalent fields together. However, fields that cannot be mapped, even with the use of applied logic, are considered distinct fields. For example, a first MLS database that has a Boolean field value for xe2x80x9cmountain view,xe2x80x9d may have absolutely no equivalent in a second MLS database, no matter how much intelligence is applied in the process. Accordingly, the xe2x80x9cmountain viewxe2x80x9d field would be considered distinct.
A search query interface is provided that displays the aggregate of the first array of common fields and the second array of distinct fields. An indicia means may be provided for each field displayed in the search query interface to indicate whether each field is common or distinct. The indicia means may be an asterisk, font modification, graphic icon or the like. The indicia may also include placing the common and distinct fields in separate list boxes. The indicia means serve the purpose of warning the end user that selection of a common field will permit a seamless search across all databases, while a selection of a distinct field will restrict the search to the root database.
A root MLS database is selected from the plurality of MLS databases. The root database will always be searched no matter what distinct fields are selected. At least one child database is selected from the plurality of MLS databases. In most cases, the number of child databases selected will have a relationship to the number of distinct fields listed. For example, if a root database and first child database share 80% of all the fields, then only 20% of the fields will be distinct. However, if a second child database is added that shares 80% of the fields with the root database and 80% of the fields with the first child database, the number of distinct fields could rise to as much as 60%.
Nevertheless, the end user makes the choice regarding field selection, not the query designer. When a search query is made against the root database, data from the child database or plurality of child databases is only included for common fields selected in the search query interface. In the event that the end user selects a distinct field that excludes a child database from a search, the end user is notified that the scope of the search is restricted. This might be through visual or audio feedback from the search query interface. The end user may also swap the designation of root and child between two databases in a subsequent search.
It is therefore an object of the present invention to provide a method of searching multiple MLS databases having different schemas without comprising the accuracy of the search results.
It is another object of the present invention to provide a method of searching multiple MLS databases wherein the end user has the ability to decide whether to exclude a second database by selecting to search a distinct field in a first database.
It is to be understood that both the foregoing general description and the following detailed description are explanatory and are not restrictive of the invention as claimed. The accompanying drawings, which are incorporated in and constitute part of the specification, illustrate embodiments of the present invention and together with the general description, serve to explain principles of the present invention.
These and other important objects, advantages, and features of the invention will become clear as this description proceeds.
The invention accordingly comprises the features of construction, combination of elements, and arrangement of parts that will be exemplified in the description set forth hereinafter and the scope of the invention will be indicated in the claims.